package cn.org.spring.wechar.utils;

import java.util.Map;
import java.util.Random;

/**
 * @author： 谢辉
 * @date： 2021/5/18
 * @email: xieh_mail@163.com
 * @description：抽奖随机工具
 * @modifiedBy：
 * @version: 1.0
 */
public class PrizeRandomUtil {
   /* // String 可以为任意类型 也可以自定义类型
    static Map<String, Integer> keyChanceMap = new HashMap<String, Integer>();

    static {
        //key值的是奖品名称或者id。value为中奖的概率
        keyChanceMap.put("0", 10);
        keyChanceMap.put("1", 200);
        keyChanceMap.put("3", 500);
        keyChanceMap.put("4", 3000);
    }*/

    public static String chanceSelect(Map<String, Integer> keyChanceMap) {
        if (keyChanceMap == null || keyChanceMap.size() == 0)
            return null;

        Integer sum = 0;
        for (Integer value : keyChanceMap.values()) {
            sum += value;
        }
        // 从1开始
        Integer rand = new Random().nextInt(sum) + 1;

        for (Map.Entry<String, Integer> entry : keyChanceMap.entrySet()) {
            rand -= entry.getValue();
            // 选中
            if (rand <= 0) {
                String item = entry.getKey();
                return item;
            }
        }
        return null;
    }
}
